//
//  ViewController.m
//  UI08_UITableView
//
//  Created by Hanlingyu on 16/7/25.
//  Copyright © 2016年 ltq. All rights reserved.
//

#import "ViewController.h"
#import "UIView+Frame.h"

#define kTableViewReuse @"reuseIdentifier"
// 必须签订     UITableViewDataSource   UITableViewDelegate
@interface ViewController ()
<
    UITableViewDataSource,
    UITableViewDelegate
>
// 计数器
@property (nonatomic, assign) NSInteger numberCount;
@end


@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    self.view.backgroundColor = [UIColor whiteColor];
    self.navigationController.navigationBarHidden = YES;
    self.numberCount = 0;
    // UITableView
    // 1. 基本创建
    UITableView *tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
    tableView.backgroundColor = [UIColor whiteColor];
    [self.view addSubview:tableView];
//    tableView.alwaysBounceVertical = NO;
    // 2. 相关属性
    // 直接设置, 行高44
    tableView.rowHeight = 44;
    // 分割线的颜色
    tableView.separatorColor = [UIColor redColor];
    // 分隔线样式, 设置隐藏分隔线
    // 默认: UITableViewCellSeparatorStyleNone
    tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
    // talbeView头视图
    // headView的x, y不影响其位置
    // 一般用来放轮播图
//    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(1000, 1000, self.view.frame.size.width, 200)];
//    headerView.backgroundColor = [UIColor greenColor];
//    tableView.tableHeaderView = headerView;
//    
//    // 如果tableHeaderView要进行修改, 必须加上
//    // beginUpdates
//    // endUpdates
//    [tableView beginUpdates];
//    tableView.tableHeaderView.ltq_height = 400;
//    [tableView endUpdates];

    // 小应用:
    // 隐藏, 多余tableView的空cell
    // 空cell一般出现在一个界面只展示几条数据时, 并且数据占不满整个屏幕
    tableView.tableFooterView = [[UIView alloc] init];
    
    // fooerView x会对尾视图产生左边影响, y不会
//    UIView *footerView = [[UIView alloc] initWithFrame:CGRectMake(0, 1000, self.view.ltq_width, 400)];
//    footerView.backgroundColor = [UIColor redColor];
//    tableView.tableFooterView = footerView;
    // 3. tableView 数据展示
    // delegate 代理 帮助tableView执行一些时间
    // dataSource 数据源 用来给
    tableView.delegate = self;
    tableView.dataSource = self;
    
    // 注意: cell注册出来的Style是Default(没有副标题)
    [tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:kTableViewReuse];
    
    
    
}
// 返回数组源个数
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return 100;
}
// 返回数据源Cell的样式
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kTableViewReuse];
    // 如果从重用池中取出的cell为空, 创建一个新的cell
    if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kTableViewReuse];
        self.numberCount++;
        NSLog(@"创建新cell----%@----%ld", cell, self.numberCount);
    } else {
        
        NSLog(@"重用旧cell----%@", cell);
    }
    
    // cell style
    // UITableViewCellStyleDefault       cell默认style, 没有副标题
    // UITableViewCellStyleValue1        最左边主标题(黑), 最右边副标题(灰)
    // UITableViewCellStyleValue2        小字号, 蓝色主标题, 黑色副标题, 主副标题紧邻
    // UITableViewCellStyleSubtitle      主副标题上下紧挨, 主标题字号大, 副标题字号小
    
    // cell主标题
    cell.textLabel.text = @"嘿嘿";
    // cell副标题
    cell.detailTextLabel.text = @"我就呵呵了";
    cell.imageView.image = [UIImage imageNamed:@"1.jpg"];
    return cell;
}





- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
